<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head>
  <link href="//gmpg.org/xfn/11" rel="profile">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="Hugo 0.69.0" />

  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Django &middot; 我的博客</title>

  
  <link type="text/css" rel="stylesheet" href="/hugoblog/css/print.css" media="print">
  <link type="text/css" rel="stylesheet" href="/hugoblog/css/poole.css">
  <link type="text/css" rel="stylesheet" href="/hugoblog/css/syntax.css">
  <link type="text/css" rel="stylesheet" href="/hugoblog/css/hyde.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700">


  
  <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
  <link rel="shortcut icon" href="/favicon.png">

  
  
</head>

  <body class="theme-base-0self ">
  <aside class="sidebar">
  <div class="container sidebar-sticky">
    <div class="sidebar-about">
      <a href="/hugoblog/"><h1>我的博客</h1></a>
      <p class="lead">
       这里是骆建宇的个人博客 
      </p>
    </div>

    <nav>
      <ul class="sidebar-nav">
        <li><a href="/hugoblog/">Home</a> </li>
        
      </ul>
    </nav>

    <p>&copy; 2020. All rights reserved. </p>
  </div>
</aside>

    <main class="content container">
    <div class="post">
  <h1>Django</h1>
  <time datetime=2020-04-26T15:45:57&#43;0800 class="post-date">Sun, Apr 26, 2020</time>
  <p>## Django创建项目、数据库迁移、用户注册
#### 1.创建django项目</p>
<pre><code>django-admin startproject 项目名
</code></pre><p>#### 2.创建项目的app</p>
<pre><code>cd 项目名
python manage.py startapp my_app
</code></pre><p>#### 3.数据库迁移</p>
<pre><code>python manage.py makemigrations
python manage.py migrate
</code></pre><p>#### 4.启动django项目</p>
<pre><code>python manage.py runserver
</code></pre><p>#### 5.简易的用户注册</p>
<pre><code># 注册接口
class Register(APIView):
    def get(self,request):
        # 接收参数
        username =request.GET.get('username',None)
        password =request.GET.get('password',None)
        # 排重操作
        user = User.objects.filter(username=username).first()
        if user:
            return Response({'code':403,'message':'该用户名已存在'})
        # 入库
        user =User(username=username,password=make_password(password))
        # 保存结果
        user.save()
        return Response({'code':200,'message':'恭喜注册成功'})
</code></pre><p>#### 6.md5加密</p>
<pre><code>import hashlib
# md5加密方法
def make_password(mypass):
    # 生成md5对象
    md5 =hashlib.md5()
    # 转码操作
    mypass_utf8 = str(mypass).encode(encoding=&quot;utf-8&quot;)
    # 加密操作
    md5.update(mypass_utf8)
    # 返回密文
    return md5.hexdigest()

</code></pre><p>#### 7.目录说明</p>
<pre><code>项目名: 项目的容器。
manage.py: 一个实用的命令行工具，可让你以各种方式与该 Django 项目进行交互。
项目名/__init__.py: 一个空文件，告诉 Python 该目录是一个 Python 包。
项目名/settings.py: 该 Django 项目的设置/配置。
项目名/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站&quot;目录&quot;。
项目名/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口，以便运行你的项目。
</code></pre><p>#### 8.项目里的app目录说明</p>
<pre><code>__init__.py:初始化文件 同样也标志我们的app可以被引用
admin.py:它是我们的后台管理工具 , 后期我们的可以通过他管理我们的model和数据库
apps.py:这个是django的生成app名称的文件
models.py:模型文件 里面放的都是数据库表的映射
tests.py:测试文件
views.py:视图函数文件
</code></pre>
</div>


    </main>

    
  </body>
</html>
